package com.hulk.ratel.persistence.entity

import java.util.Date
import com.baomidou.mybatisplus.annotations.TableField
import com.baomidou.mybatisplus.annotations.TableId
import com.baomidou.mybatisplus.enums.IdType
import com.baomidou.mybatisplus.activerecord.Model
import com.baomidou.mybatisplus.annotations.TableName
import java.io.Serializable

/**
 * <p>
 * 
 * </p>
 *
 * @author hulk
 * @since 2018-08-29
 */
@TableName("t_log_txn_pay_record")
class TLogTxnPayRecord : Model<TLogTxnPayRecord>() {

    @TableId(value = "id", type = IdType.ID_WORKER)
    var id: Long? = null
    @TableField("int_cut_date")
    var intCutDate: String? = null
    /**
     * 此id报文头返回给合作方， 同时发送给支付机构作为流水号，同时在平台内部作为唯一的日志跟踪号，最终作为本表的唯一id标识号。
     */
    @TableField("work_id")
    var workId: String? = null
    @TableField("merchant_code")
    var merchantCode: String? = null
    /**
     * plat_merchant_code与相同
     */
    @TableField("org_merchant_code")
    var orgMerchantCode: String? = null
    /**
     * 内部分配的支付机构号 对应org_partner_no
            
     */
    @TableField("org_code")
    var orgCode: String? = null
    /**
     * 链路的终端机构
     */
    @TableField("overorg_code")
    var overorgCode: String? = null
    var version: String? = null
    @TableField("partner_type")
    var partnerType: String? = null
    @TableField("partner_no")
    var partnerNo: String? = null
    @TableField("area_code")
    var areaCode: String? = null
    @TableField("city_code")
    var cityCode: String? = null
    @TableField("province_code")
    var provinceCode: String? = null
    /**
     * LBS:定位
            MBH:号段
     */
    @TableField("locate_flag")
    var locateFlag: String? = null
    @TableField("trace_id")
    var traceId: String? = null
    @TableField("txn_type")
    var txnType: String? = null
    @TableField("txn_code")
    var txnCode: String? = null
    @TableField("req_date")
    var reqDate: String? = null
    @TableField("req_time")
    var reqTime: String? = null
    var subject: String? = null
    var description: String? = null
    @TableField("operator_no")
    var operatorNo: String? = null
    @TableField("shop_code")
    var shopCode: String? = null
    @TableField("terminal_no")
    var terminalNo: String? = null
    @TableField("goods_tag")
    var goodsTag: String? = null
    @TableField("expire_time")
    var expireTime: Int? = null
    @TableField("qr_code")
    var qrCode: String? = null
    @TableField("pay_scene")
    var payScene: String? = null
    var uuid: String? = null
    @TableField("auth_code")
    var authCode: String? = null
    @TableField("source_id")
    var sourceId: String? = null
    /**
     * 刷单交易 SCALP
            正常交易 NORMAL
     */
    @TableField("buss_type")
    var bussType: String? = null
    /**
     * (支付机构异步通知)
            贷：C  
            借 ：D
            其他 ：O
     */
    @TableField("dcredit_flag")
    var dcreditFlag: String? = null
    @TableField("total_amt")
    var totalAmt: Int? = null
    @TableField("buyer_pay_amt")
    var buyerPayAmt: Int? = null
    @TableField("favor_amt")
    var favorAmt: Int? = null
    var point: Int? = null
    @TableField("call_back_url")
    var callBackUrl: String? = null
    @TableField("resp_date")
    var respDate: String? = null
    @TableField("resp_time")
    var respTime: String? = null
    @TableField("resp_code")
    var respCode: String? = null
    @TableField("resp_msg")
    var respMsg: String? = null
    @TableField("async_version")
    var asyncVersion: String? = null
    @TableField("async_txn_code")
    var asyncTxnCode: String? = null
    @TableField("async_trace_id")
    var asyncTraceId: String? = null
    @TableField("async_ori_trace_id")
    var asyncOriTraceId: String? = null
    /**
     * trace_id与相同
     */
    @TableField("async_work_id")
    var asyncWorkId: String? = null
    @TableField("async_resp_code")
    var asyncRespCode: String? = null
    @TableField("async_resp_msg")
    var asyncRespMsg: String? = null
    @TableField("async_resp_date")
    var asyncRespDate: String? = null
    @TableField("async_resp_time")
    var asyncRespTime: String? = null
    @TableField("async_status")
    var asyncStatus: String? = null
    /**
     * 01-受理请求插入流水
            02-向支付机构发送请求等待支付机构响应
            03-收到支付机构同步响应
            04-收到支付机构回调响应
            05-返回前端商户同步交易完成
            06-返回前端商户回调交易完成
            
     */
    var step: String? = null
    /**
     * 99-超时
            04-处理中
            01-交易成功
            02-交易失败
            03-初始
            05-待支付
            
            
     */
    var status: String? = null
    @TableField("org_acct_date")
    var orgAcctDate: String? = null
    @TableField("org_version")
    var orgVersion: String? = null
    @TableField("org_partner_type")
    var orgPartnerType: String? = null
    @TableField("org_partner_no")
    var orgPartnerNo: String? = null
    @TableField("org_trace_id")
    var orgTraceId: String? = null
    @TableField("org_resp_seq_id")
    var orgRespSeqId: String? = null
    @TableField("org_clear_flag")
    var orgClearFlag: String? = null
    @TableField("org_pay_time")
    var orgPayTime: String? = null
    @TableField("org_req_date")
    var orgReqDate: String? = null
    @TableField("org_req_time")
    var orgReqTime: String? = null
    @TableField("org_resp_date")
    var orgRespDate: String? = null
    @TableField("org_resp_time")
    var orgRespTime: String? = null
    @TableField("org_resp_flag")
    var orgRespFlag: String? = null
    @TableField("org_resp_code")
    var orgRespCode: String? = null
    @TableField("org_resp_msg")
    var orgRespMsg: String? = null
    @TableField("org_async_version")
    var orgAsyncVersion: String? = null
    @TableField("org_async_trace_id")
    var orgAsyncTraceId: String? = null
    @TableField("org_async_ori_trace_id")
    var orgAsyncOriTraceId: String? = null
    /**
     * trace_id与相同
     */
    @TableField("org_async_work_id")
    var orgAsyncWorkId: String? = null
    @TableField("org_async_resp_flag")
    var orgAsyncRespFlag: String? = null
    @TableField("org_async_resp_code")
    var orgAsyncRespCode: String? = null
    @TableField("org_async_resp_msg")
    var orgAsyncRespMsg: String? = null
    @TableField("org_async_resp_date")
    var orgAsyncRespDate: String? = null
    @TableField("org_async_resp_time")
    var orgAsyncRespTime: String? = null
    @TableField("org_async_status")
    var orgAsyncStatus: String? = null
    @TableField("client_ip")
    var clientIp: String? = null
    @TableField("updated_time")
    var updatedTime: Date? = null
    @TableField("ori_id")
    var oriId: String? = null
    @TableField("tenant_id")
    var tenantId: String? = null
    @TableField("lock_version")
    var lockVersion: Long? = null
    var rsv1: String? = null
    var rsv2: String? = null


    override fun pkVal(): Serializable? {
        return id
    }

    override fun toString(): String {
        return "TLogTxnPayRecord{" +
        ", id=" + id +
        ", intCutDate=" + intCutDate +
        ", workId=" + workId +
        ", merchantCode=" + merchantCode +
        ", orgMerchantCode=" + orgMerchantCode +
        ", orgCode=" + orgCode +
        ", overorgCode=" + overorgCode +
        ", version=" + version +
        ", partnerType=" + partnerType +
        ", partnerNo=" + partnerNo +
        ", areaCode=" + areaCode +
        ", cityCode=" + cityCode +
        ", provinceCode=" + provinceCode +
        ", locateFlag=" + locateFlag +
        ", traceId=" + traceId +
        ", txnType=" + txnType +
        ", txnCode=" + txnCode +
        ", reqDate=" + reqDate +
        ", reqTime=" + reqTime +
        ", subject=" + subject +
        ", description=" + description +
        ", operatorNo=" + operatorNo +
        ", shopCode=" + shopCode +
        ", terminalNo=" + terminalNo +
        ", goodsTag=" + goodsTag +
        ", expireTime=" + expireTime +
        ", qrCode=" + qrCode +
        ", payScene=" + payScene +
        ", uuid=" + uuid +
        ", authCode=" + authCode +
        ", sourceId=" + sourceId +
        ", bussType=" + bussType +
        ", dcreditFlag=" + dcreditFlag +
        ", totalAmt=" + totalAmt +
        ", buyerPayAmt=" + buyerPayAmt +
        ", favorAmt=" + favorAmt +
        ", point=" + point +
        ", callBackUrl=" + callBackUrl +
        ", respDate=" + respDate +
        ", respTime=" + respTime +
        ", respCode=" + respCode +
        ", respMsg=" + respMsg +
        ", asyncVersion=" + asyncVersion +
        ", asyncTxnCode=" + asyncTxnCode +
        ", asyncTraceId=" + asyncTraceId +
        ", asyncOriTraceId=" + asyncOriTraceId +
        ", asyncWorkId=" + asyncWorkId +
        ", asyncRespCode=" + asyncRespCode +
        ", asyncRespMsg=" + asyncRespMsg +
        ", asyncRespDate=" + asyncRespDate +
        ", asyncRespTime=" + asyncRespTime +
        ", asyncStatus=" + asyncStatus +
        ", step=" + step +
        ", status=" + status +
        ", orgAcctDate=" + orgAcctDate +
        ", orgVersion=" + orgVersion +
        ", orgPartnerType=" + orgPartnerType +
        ", orgPartnerNo=" + orgPartnerNo +
        ", orgTraceId=" + orgTraceId +
        ", orgRespSeqId=" + orgRespSeqId +
        ", orgClearFlag=" + orgClearFlag +
        ", orgPayTime=" + orgPayTime +
        ", orgReqDate=" + orgReqDate +
        ", orgReqTime=" + orgReqTime +
        ", orgRespDate=" + orgRespDate +
        ", orgRespTime=" + orgRespTime +
        ", orgRespFlag=" + orgRespFlag +
        ", orgRespCode=" + orgRespCode +
        ", orgRespMsg=" + orgRespMsg +
        ", orgAsyncVersion=" + orgAsyncVersion +
        ", orgAsyncTraceId=" + orgAsyncTraceId +
        ", orgAsyncOriTraceId=" + orgAsyncOriTraceId +
        ", orgAsyncWorkId=" + orgAsyncWorkId +
        ", orgAsyncRespFlag=" + orgAsyncRespFlag +
        ", orgAsyncRespCode=" + orgAsyncRespCode +
        ", orgAsyncRespMsg=" + orgAsyncRespMsg +
        ", orgAsyncRespDate=" + orgAsyncRespDate +
        ", orgAsyncRespTime=" + orgAsyncRespTime +
        ", orgAsyncStatus=" + orgAsyncStatus +
        ", clientIp=" + clientIp +
        ", updatedTime=" + updatedTime +
        ", oriId=" + oriId +
        ", tenantId=" + tenantId +
        ", lockVersion=" + lockVersion +
        ", rsv1=" + rsv1 +
        ", rsv2=" + rsv2 +
        "}"
    }
}
